import 'dart:convert';

EvaluationClassReportResult evaluationClassReportResultFromJson(String str) =>
    EvaluationClassReportResult.fromJson(json.decode(str));

String evaluationClassReportResultToJson(EvaluationClassReportResult data) =>
    json.encode(data.toJson());

class EvaluationClassReportResult {
  EvaluationClassReportResult({
    this.status,
    this.message,
    this.result,
  });

  int? status;
  String? message;
  Result? result;

  factory EvaluationClassReportResult.fromJson(Map<String, dynamic> json) =>
      EvaluationClassReportResult(
        status: json["status"],
        message: json["message"],
        result: json["result"] != null ? Result.fromJson(json["result"]) : null,
      );

  Map<String, dynamic> toJson() => {
        "status": status,
        "message": message,
        "result": result?.toJson(),
      };
}

class Result {
  Result({
    this.limit,
    this.count,
    this.page,
    this.list,
  });

  int? limit;
  int? count;
  int? page;
  List<EvaluationBookReport>? list;

  factory Result.fromJson(Map<String, dynamic> json) => Result(
        limit: json["limit"],
        count: json["count"],
        page: json["page"],
        list: json["list"] != null
            ? List<EvaluationBookReport>.from(
                json["list"].map((x) => EvaluationBookReport.fromJson(x)))
            : null,
      );

  Map<String, dynamic> toJson() => {
        "limit": limit,
        "count": count,
        "page": page,
        "list": list != null
            ? List<dynamic>.from(list!.map((x) => x.toJson()))
            : null,
      };
}

class EvaluationBookReport {
  EvaluationBookReport({
    this.listeningAccuracy,
    this.firstName,
    this.lastName,
    this.speakingAiScore,
    this.readingAccuracy,
    this.speakingScore,
    this.userName,
    this.writingScore,
  });

  dynamic listeningAccuracy;
  String? firstName;
  String? lastName;
  dynamic speakingAiScore;
  dynamic readingAccuracy;
  dynamic speakingScore;
  String? userName;
  dynamic writingScore;

  factory EvaluationBookReport.fromJson(Map<String, dynamic> json) =>
      EvaluationBookReport(
        listeningAccuracy: json["listeningAccuracy"],
        firstName: json["firstName"],
        lastName: json["lastName"],
        speakingAiScore: json["speakingAIScore"],
        readingAccuracy: json["readingAccuracy"],
        speakingScore: json["speakingScore"],
        userName: json["userName"],
        writingScore: json["writingScore"],
      );

  Map<String, dynamic> toJson() => {
        "listeningAccuracy": listeningAccuracy,
        "firstName": firstName,
        "lastName": lastName,
        "speakingAIScore": speakingAiScore,
        "readingAccuracy": readingAccuracy,
        "speakingScore": speakingScore,
        "userName": userName,
        "writingScore": writingScore,
      };
}
